# -*- Makefile -*- for the GNU Emacs Lisp Reference Manual.

# Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
#   Free Software Foundation, Inc.

# This file is part of GNU Emacs.

# GNU Emacs is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.

# GNU Emacs is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.

# You should have received a copy of the GNU General Public License
# along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.


# Standard configure variables.
srcdir = .

infodir = $(srcdir)/../../info
usermanualdir = $(srcdir)/../emacs

# Redefine `TEX' if `tex' does not invoke plain TeX.  For example:
# TEX=platex
TEX=tex
INSTALL_INFO = install-info
MAKEINFO = makeinfo --force

# The environment variable and its value to add $(srcdir) to the path
# searched for TeX input files.
texinputdir = $(srcdir)\..\..\nt\envadd.bat "TEXINPUTS=$(srcdir);$(TEXINPUTS)" /C

# The name of the manual:
VERSION=2.9
## FIXME can this be set by configure, as per Makefile.in?
manual = elisp-manual-23-$(VERSION)

# List of all the texinfo files in the manual:

srcs = \
  $(srcdir)/abbrevs.texi \
  $(srcdir)/advice.texi \
  $(srcdir)/anti.texi \
  $(srcdir)/back.texi \
  $(srcdir)/backups.texi \
  $(srcdir)/buffers.texi \
  $(srcdir)/commands.texi \
  $(srcdir)/compile.texi \
  $(srcdir)/control.texi \
  $(srcdir)/customize.texi \
  $(srcdir)/debugging.texi \
  $(srcdir)/display.texi \
  $(srcdir)/edebug.texi \
  $(srcdir)/elisp.texi \
  $(srcdir)/errors.texi \
  $(srcdir)/eval.texi \
  $(srcdir)/files.texi \
  $(srcdir)/frames.texi \
  $(srcdir)/functions.texi \
  $(srcdir)/hash.texi \
  $(srcdir)/help.texi \
  $(srcdir)/hooks.texi \
  $(srcdir)/internals.texi \
  $(srcdir)/intro.texi \
  $(srcdir)/keymaps.texi \
  $(srcdir)/lists.texi \
  $(srcdir)/loading.texi \
  $(srcdir)/locals.texi \
  $(srcdir)/macros.texi \
  $(srcdir)/maps.texi \
  $(srcdir)/markers.texi \
  $(srcdir)/minibuf.texi \
  $(srcdir)/modes.texi \
  $(srcdir)/nonascii.texi \
  $(srcdir)/numbers.texi \
  $(srcdir)/objects.texi \
  $(srcdir)/os.texi \
  $(srcdir)/positions.texi \
  $(srcdir)/processes.texi \
  $(srcdir)/searching.texi \
  $(srcdir)/sequences.texi \
  $(srcdir)/streams.texi \
  $(srcdir)/strings.texi \
  $(srcdir)/symbols.texi \
  $(srcdir)/syntax.texi \
  $(srcdir)/text.texi \
  $(srcdir)/tips.texi \
  $(srcdir)/variables.texi \
  $(srcdir)/windows.texi \
  $(srcdir)/index.texi \
  $(srcdir)/gpl.texi \
  $(srcdir)/doclicense.texi


.PHONY: clean

# The info file is named `elisp'.

info: $(infodir)/elisp

$(infodir)/dir:
	$(INSTALL_INFO) --info-dir=$(infodir) $(infodir)/elisp

$(infodir)/elisp: $(srcs)
	$(MAKEINFO) -I. -I$(srcdir) -o $(infodir)/elisp $(srcdir)/elisp.texi

elisp.dvi: $(srcs)
	$(texinputdir) $(TEX) -I $(usermanualdir) $(srcdir)/elisp.texi

clean:
	- $(DEL) *.toc *.aux *.log *.cp *.cps *.fn *.fns *.tp *.tps \
                 *.vr *.vrs *.pg *.pgs *.ky *.kys
	- $(DEL) make.out core
	- $(DEL) $(infodir)/elisp*

distclean: clean
	- $(DEL) makefile

maintainer-clean: distclean
	- $(DEL) elisp elisp-? elisp-?? elisp.dvi elisp.oaux
